home *** CD-ROM | disk | FTP | other *** search
/ Front Page News 1991 January to 1991 December / Front-Page News 01-1991-12-1991 - Worldwide News At Your Fingertips (Wayzata Technology)(1992).bin / airname.bas < prev    next >
BASIC Source File  |  1992-02-16  |  2KB  |  119 lines

  1.  
  2. 'AIRNAME BY JACK SPEER - FEBRUARY, 1992.  V1.0
  3. 'BINARY SEARCH THE FAA AIRMEN DATA BASE BASED ON NAME.
  4.  
  5. DIM F$(20)
  6.  
  7. CLS
  8.  
  9. PRINT
  10. PRINT "Copyright (c) 1992, Buckmaster Publishing"
  11. PRINT
  12.  
  13.  
  14. NAME$ = COMMAND$ + " "
  15. ON ERROR GOTO 10000
  16. IF LEN(NAME$) = 0 GOTO NONAME
  17.  
  18. NAME$ = RTRIM$(NAME$)
  19. NAME$ = LTRIM$(NAME$)
  20.  
  21.  
  22. CDDRIVE$ = LEFT$(NAME$, 2) + "\"
  23.  
  24. OPEN CDDRIVE$ + "AIRNAME.120" FOR RANDOM AS #1 LEN = 120
  25. FIELD #1, 13 AS F$(1), 17 AS F$(2), 32 AS F$(3), 16 AS F$(4), 4 AS F$(5), 5 AS F$(6), 1 AS F$(7), 7 AS F$(8), 3 AS F$(9), 1 AS F$(10), 2 AS F$(11), 4 AS F$(12), 1 AS F$(13), 5 AS F$(14), 7 AS F$(15), 1 AS F$(16)
  26. FIELD #1, 120 AS R$
  27.  
  28. NAME$ = MID$(NAME$, 4, LEN(NAME$))
  29. NAME$ = NAME$ + SPACE$(17)
  30. NAME$ = LEFT$(NAME$, 17)
  31.  
  32. GOSUB MAIN
  33.  
  34. AGN2:
  35. P# = P# - 1
  36. GET #1, P#
  37. IF NAME$ = F$(2) GOTO AGN2
  38.  
  39. AGN3:
  40. P# = P# + 1
  41. GET #1, P#
  42. IF NAME$ <> F$(2) THEN END: CLOSE
  43. GOTO PRT1
  44.  
  45. CLOSE
  46. END
  47.  
  48.  
  49.  
  50.  
  51. MAIN:
  52.  
  53. L# = 1
  54. R# = INT(LOF(1) / 120)
  55.  
  56. AGN1:
  57. P# = INT((L# + R#) / 2)
  58. GET #1, P#
  59.  
  60. NAMEIN$ = F$(2)
  61.  
  62. 'PRINT LEN(NAME$), NAME$, LEN(NAMEIN$), NAMEIN$
  63.  
  64. IF NAME$ < NAMEIN$ GOTO MINUS1
  65. IF NAME$ = NAMEIN$ THEN RETURN
  66.  
  67. PLUS1:
  68. L# = P# + 1
  69. GOTO CHECK
  70.  
  71. MINUS1:
  72. R# = P# - 1
  73.  
  74. CHECK:
  75. IF L# <= R# GOTO AGN1
  76.  
  77. NOMATCH:
  78. PRINT
  79. PRINT "NO MATCH ON ", NAME$
  80. PRINT
  81. PRINT
  82. RETURN
  83.  
  84. PRT1:
  85. CLS
  86. PRINT "       First Name: "; F$(1)
  87. PRINT "        Last Name: "; F$(2)
  88. PRINT "           Street: "; F$(3)
  89. PRINT "             City: "; F$(4)
  90. PRINT "            State: "; F$(5)
  91. PRINT "              ZIP: "; F$(6)
  92. PRINT "    Medical Class: "; F$(7)
  93. PRINT "Certificate Class: "; F$(8)
  94. PRINT "          Ratings: "; F$(9)
  95. 'PRINT ": "; F$(10)
  96. PRINT "       FAA Region: "; F$(11)
  97. PRINT "     Medical Date: "; F$(12)
  98. 'PRINT ": "; F$(13)
  99. PRINT "       Hash total: "; F$(14)
  100. 'PRINT ": "; F$(15)
  101. PRINT "     Country Code: "; F$(16)
  102. PRINT
  103. INPUT "Buckmaster FAA airmen's name search program.  Press enter for next record ", rr$
  104. GOTO AGN3
  105.  
  106.  
  107. NONAME:
  108. PRINT "BUCKMASTER PUBLISHING 'AIRNAME' - V1.0, February, 1992."
  109. PRINT "Retrieval of airmen data by entering FAA airmen name"
  110. PRINT
  111. PRINT "     USAGE IS:  AIRMANE D: NAME NAME NAME"
  112. PRINT "           OR:  AIRNAME D: NAME > PRN        to print"
  113. PRINT "           OR:  AIRNAME D: NAME > filename   write to disk"
  114. CLOSE
  115. END
  116.  
  117. 10000 IF ERR = 76 THEN PRINT "Must enter CD-ROM drive Letter, i.e. F: and try again!": PRINT "": GOTO NONAME
  118.  
  119.